package karaoke.negocio;

import java.util.Collection;

import karaoke.excepcion.DAOExcepcion;
import karaoke.dao.LocalDAO;
import karaoke.modelo.Administrador;
import karaoke.modelo.Local; 

public class GestionLocales {

	public Collection<Local> buscarPorNombre(String nombre)
			throws DAOExcepcion {
		LocalDAO dao = new LocalDAO();
		return dao.buscarPorNombre(nombre);
	}

	public Local insertar(String nombre,String direccion,String telefono,
			String correo,String descripcion,boolean eLog, Administrador administrador)
			throws DAOExcepcion {
		LocalDAO dao = new LocalDAO();

		Local vo = new Local();
		vo.setNombre(nombre);
		vo.setDireccion(direccion);
		vo.setTelefono(telefono);
		vo.setCorreo(correo);
		vo.setDescripcion(descripcion);
		vo.setElog(eLog);
		vo.setAdministrador(administrador);
		return dao.insertar(vo);
	}

	public Local obtener(int idLocal) throws DAOExcepcion {
		LocalDAO dao = new LocalDAO();
		return dao.obtener(idLocal);
	}

	public void eliminar(int idLocal) throws DAOExcepcion {
		LocalDAO dao = new LocalDAO();
		dao.eliminar(idLocal);
	}

	public Local actualizar(int idLocal, String nombre,String direccion,String telefono,
			String correo,String descripcion,boolean eLog, Administrador administrador) throws DAOExcepcion {
		LocalDAO dao = new LocalDAO();

		Local vo = new Local();
		vo.setIdlocal(idLocal);
		vo.setNombre(nombre);
		vo.setDireccion(direccion);
		vo.setTelefono(telefono);
		vo.setCorreo(correo);
		vo.setDescripcion(descripcion);
		vo.setElog(eLog);
		vo.setAdministrador(administrador);
		return dao.actualizar(vo);
	}
	public Local eliminarLogicamente(int idLocal,boolean eLog) throws DAOExcepcion {
		LocalDAO dao = new LocalDAO();

		Local vo = new Local();
		vo.setIdlocal(idLocal);
		vo.setElog(eLog);

		return dao.eliminarLogicamente(vo);
	}

	
	public Collection<Local> listar() throws DAOExcepcion {
		LocalDAO dao = new LocalDAO();
		return dao.listar();
	}

	public Local obtenerByIdAdmin(int idadmin) throws DAOExcepcion {
		LocalDAO dao = new LocalDAO();
		return dao.obtenerbyadmin(idadmin);
	}
}
